package com.douglas.managesystem.dao.student;

import com.douglas.managesystem.common.SearchEntity;
import com.douglas.managesystem.entity.studentpojo.Instruct;
import com.douglas.managesystem.vo.InstructDB;

import java.util.List;

/**
 *  授课管理
 * @author
 */
public interface InstructMapper {

    /**
     * 1.分页查询授课管理信息
     * @param params
     * @return
     */
     List<Instruct> queryListByPage(SearchEntity params);

    /**
     * 2.新增授课对象信息
     * @param instruct
     */
    void insert(Instruct instruct);

    /**
     * 3.更新授课对象信息
     * @param instruct
     */
    void update(Instruct instruct);

    /**
     * 4.根据id查询授课对象
     * @param id
     * @return
     */
    Instruct queryByInstructId(String id);

    /**
     * 5.根据id删除授课信息 逻辑删除
     * @param id
     */
    void delete(String id);

    /**
     * 6.查询当前授课信息是否存在
     * @param instruct
     * @return
     */
    Instruct queryInstruct(Instruct instruct);

    /**
     * 7.根据教师id查询所有课程及班级
     * @param teacherId
     * @return
     */
    List<String> findAllByTeacherId(String teacherId);

    /**
     * 8.根据classid查询班级所有课程id
     * @param classId
     * @return
     */
    List<String> findAllByClassId(String classId);

    /**
     * 9.根据学号和课程id查询对应的代课老师
     * @param subjectId
     * @param stuNumber
     * @return
     */
    String findInstructByClassIdAndLessonId(String subjectId, String stuNumber);
}
